import Vue from 'vue'
// 引入根组件
import App from './App.vue'
// 引入路由对象
import router from './router'
import store from './store'
// 引入element-ui
import ElementUI from 'element-ui'
// 引入element-ui中的样式
import 'element-ui/lib/theme-chalk/index.css'
// 引入样式
import './styles/index.scss'
// 使用element-ui插件
Vue.use(ElementUI)
// 设置上线时不产生提示信息
Vue.config.productionTip = false
// 添加全局路由守卫（路由拦截）任何路由都要经过路由守卫，和拦截器一个原理
router.beforeEach((to, from, next) => {
  // to：表示要跳转的页面
  // from：要离开的路由
  // next：这是一个函数，并且这个函数一定要调用，作用是跳转页面，不传参的情况next()下是直接访问下一个页面，next('/login')这样就表示跳转到登录页面
  // 判断下个页面是否为登录页
  if (to.name !== 'login') {
    // 获取本地内存中token
    let token = localStorage.getItem('token')
    if (token) {
      next()
    } else {
      next('/login')
    }
  } else {
    next()
  }
})
// 创建vue实例对象
new Vue({
  // 注入路由实例
  router,
  store,
  // 渲染app组件
  render: h => h(App)
  // 指定渲染的坑
}).$mount('#app')
